package com.sinbader.xiaole.common.service;

import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.roses.kernel.model.response.ResponseData;
import com.sinbader.xiaole.common.model.xiaolevo.WarehouseMoveDetailVo;
import com.sinbader.xiaole.common.entity.WarehouseMove;
import com.sinbader.xiaole.common.model.params.WarehouseMoveParam;
import com.sinbader.xiaole.common.model.result.WarehouseMoveResult;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 仓库移货管理 服务类
 */
public interface WarehouseMoveService extends IService<WarehouseMove> {

    /**
     * 新增
     */
    void add(WarehouseMoveParam param);

    /**
     * 删除
     */
    void delete(WarehouseMoveParam param);

    /**
     * 更新
     */
    void update(WarehouseMoveParam param);

    /**
     * 查询单条数据，Specification模式
     */
    WarehouseMoveResult findBySpec(WarehouseMoveParam param);

    /**
     * 查询列表，Specification模式
     */
    List<WarehouseMoveResult> findListBySpec(WarehouseMoveParam param);

    /**
     * 查询分页数据，Specification模式
     */
     LayuiPageInfo findPageBySpec(WarehouseMoveParam param);

    /**
     * 查询当前用户门店移出仓库的 商品库存信息
     * @param productParam 查询参数
     * @return
     */
    LayuiPageInfo selectProductStockInfos(WarehouseMoveParam productParam);

    /**
     * 添加仓库移货 信息
     * @param detailVo
     * @return
     */
    ResponseData addWarehouseMoveInfos(WarehouseMoveDetailVo detailVo);
}
